Layout Preserving Parser for Refactoring in Erlang
نویسندگان
چکیده
This paper describes preprocessor and whitespace-aware tools for parsing and transforming Erlang source code. The presented tools are part of RefactorErl, a refactoring tool for Erlang programs. RefactorErl represents programs as a ”semantic graph” that extends the AST with semantic nodes and edges for efficient information retrieval. The paper focuses on describing the construction of the AST and syntax based transformations of the semantic graph.
منابع مشابه
A User-extensible Refactoring Tool for Erlang Programs
Refactoring is the process of changing the design of a program without changing what it does. While it is possible to refactor a program by hand, tool support is considered invaluable as it allows largescale refactorings to be performed easily. However, most refactoring tools are black boxes, supporting a fixed set of ‘core’ refactorings. This paper reports the framework built into Wrangler – a...
متن کاملGeneric syntactic analyser: ParsErl
The increasing demand in automatic code transformation tools – which can preserve the layout, and can handle the whole macro syntax – led us to develop our scanner and parser tool. ParsErl is a generic syntactic analyser for Erlang. The scanner and the parser are generated from an XML definition of the grammar. The result of the scanning process is a graph, which can be optimised or balanced fo...
متن کاملRefactoring in Erlang, a Dynamic Functional Language
Refactoring in object-oriented languages has been well studied, but functional languages have received much less attention. This paper presents our ideas about refactoring in Erlang, a functional programming language developed by Ericsson for building telecommunications systems. The highlights of our work is dealing with the strong dynamic nature of Erlang and doing program manipulations using ...
متن کاملA Comparative Study of Refactoring Haskell and Erlang Programs
Refactoring is about changing the design of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring. Although both Haskell and Erlang are general-purpose fun...
متن کاملTowards Trustworthy Refactoring in Erlang
Tool-assisted refactoring transformations must be trustworthy if programmers are to be confident in applying them on arbitrarily extensive and complex code in order to improve style or efficiency. We propose a simple, high-level but rigorous, notation for defining refactoring transformations in Erlang, and show that this notation provides an extensible, verifiable and executable specification l...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009